package com.molichuxing.services.business.dto.response;

import com.molichuxing.framework.dto.ResponseRootDto;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 发票信息
 * </p>
 *
 * @author zhaopenghui
 * @since 2019-09-20
 */
@Data
public class InvoiceInfoBizDto extends ResponseRootDto {

    private static final long serialVersionUID = 1L;
    /**
     * 发票申请id invoice_apply_id
     */
    private Integer invoiceApplyId;

    /**
     * 订单编号 order_code
     */
    private Long orderCode;

    /**
     * 用户id user_id
     */
    private Integer userId;

    /**
     * 支付单ID pay_order_id
     */
    private Integer payOrderId;

    /**
     * 支付编号 pay_order_number
     */
    private String payOrderNumber;

    /**
     * 发票申请金额 invoice_apply_amount
     */
    private BigDecimal invoiceApplyAmount;

    /**
     * 发票类型  1:电子发票 2：纸质发票 invoice_type
     */
    private Integer invoiceType;

    /**
     * 发票抬头类型 1：个人 2：企业单位 invoice_title_type
     */
    private Integer invoiceTitleType;

    /**
     * 发票抬头类型 1：个人 2：企业单位 invoice_title_type
     */
    private String invoiceTitleTypeStr;

    /**
     * 发票状态   0:开票中(已申请)  1:已开票 status
     */
    private Integer status;

    /**
     * 备注 remark
     */
    private String remark;

    /**
     * 电子邮箱 email
     */
    private String email;

    /**
     * 业务类型（1：订阅，2：专属） business_type
     */
    private Integer businessType;

    /**
     * 申请时间
     */
    private LocalDateTime applyTime;

    /**
     * 发票id invoice_apply_id
     */
    private Integer invoiceInfoId;


    /**
     * 发票申请流水号 invoice_serial_number
     */
    private String invoiceSerialNumber;

    /**
     * 发票内容类型 1:租金 2：服务费 invoice_content_type
     */
    private Integer invoiceContentType;

    /**
     * 发票内容code invoice_content_code
     */
    private String invoiceContentCode;

    /**
     * 发票内容 invoice_content
     */
    private String invoiceContent;

    /**
     * 发票申金额 invoice_amount
     */
    private BigDecimal invoiceAmount;

    /**
     * 销售方名称 sell_name
     */
    private String sellName;

    /**
     * 销售方纳税人识别号 sell_tax_number
     */
    private String sellTaxNumber;

    /**
     * 销售方地址 sell_address
     */
    private String sellAddress;

    /**
     * 销售方电话 sell_phone
     */
    private String sellPhone;

    /**
     * 销售方开户行 sell_bank
     */
    private String sellBank;

    /**
     * 销售方银行账号 sell_bank_number
     */
    private String sellBankNumber;

    /**
     * 购买方名称 purchaser_name
     */
    private String purchaserName;

    /**
     * 购买方纳税人识别号 purchaser_tax_number
     */
    private String purchaserTaxNumber;

    /**
     * 购买方地址 purchaser_address
     */
    private String purchaserAddress;

    /**
     * 购买方电话 purchaser_phone
     */
    private String purchaserPhone;

    /**
     * 购买方开户行 purchaser_bank
     */
    private String purchaserBank;

    /**
     * 购买方银行账号 purchaser_bank_number
     */
    private String purchaserBankNumber;

    /**
     * 业务类型（1：订阅，2：专属） business_type
     */
    private String businessTypeStr;
    /**
     * 开票说明 description
     */
    private String description;
    /**
     * 开票url
     */
    private String imageFiles;
}
